Interactive television program guide display

ABSTRACT

A full service cable television system and method are provided. The system comprises a cable headend, at least one fiber transport, at least one distribution hub, at least one hybrid fiber coax plant, and a plurality of set-top terminals. The system delivers television programs, advanced cable services, and online services. Programs and services are transmitted to the set-top terminals in both digital and analog formats to maintain downward compatibility with existing systems. The set-top terminal includes a central processing unit, a unified memory architecture, a memory management unit, communications circuitry, I/O control circuitry, and audio and video output circuitry. Through these components, the set-top terminal provides advanced cable services such as a comprehensive channel navigator, an interactive program guide, impulse Pay-Per-View, Near-Video-On-Demand and Video-On-Demand programming, and advanced configuration controls. The set-top terminal also provides online services such as World Wide Web browsing, Internet e-mail, and home shopping.

CROSS REFERENCE TO RELATED APPLICATIONS

This is a continuation of, commonly assigned U.S. patent applicationSer. No. 09/185,179, filed Nov. 3, 1998, now U.S. Pat. No. 6,772,433,which is a continuation of U.S. patent application Ser. No. 08/802,833,filed Feb. 19, 1997, now U.S. Pat. No. 5,850,218.

BACKGROUND OF THE INVENTION

This invention relates generally to television systems. Moreparticularly, this invention relates to full service television systemsthat use advanced storage, communications, and processing techniques toprovide a variety of television services including audio and audiovisualprogramming, advanced navigation controls, interactive program guides,Impulse Pay-Per-View activation, Near-Video-On-Demand programming,Video-On-Demand programming, advanced configuration controls, and onlineservices.

With recent advances in storage, communication, and processingtechnologies, many present-day television systems are becomingantiquated. This is especially true of many cable television systems.Traditional methods of broadcasting television programs and services insuch cable television systems suffer from an inability to deliver a highnumber of high quality television signals on a single coaxial cable.Many existing television systems also cannot provide the advancedtelevision services desired by their subscribers, such as, for example,a comprehensive channel navigator, an interactive program guide, ImpulsePay-Per-view activation, Near-Video-On-Demand programming,Video-On-Demand programming, and advanced configuration controls.Furthermore, most modern television systems have no provisionswhatsoever for supplying services such as World Wide Web browsing,Internet E-Mail, and online services.

In view of the foregoing, it would be desirable to provide a fullservice television system capable of delivering a high number of highquality television signals.

It would also be desirable to provide a full service television systemcapable of using advanced communication techniques to deliver a highnumber of high quality television signals.

It would further be desirable to provide a full service televisionsystem capable of sustaining two-way communication between a cableservice provider and a cable service subscriber.

It would even further be desirable to provide a full service televisionsystem capable of delivering advanced television services such as acomprehensive channel navigator, an interactive program guide, ImpulsePay-Per-View activation, Near-Video-On-Demand programming,Video-On-Demand programming, and advanced configuration controls.

It would still further be desirable to provide a full service televisionsystem capable of delivering services such as World Wide Web browsing,Internet E-Mail, and online services.

SUMMARY OF THE INVENTION

It is therefore an object of this invention to provide a full servicetelevision system capable of delivering a high number of high qualitytelevision signals.

It is also an object of this invention to provide a full servicetelevision system capable of using advanced communication techniques todeliver a high number of high quality television signals.

It is a further object of this invention to provide a full servicetelevision system capable of sustaining two-way communication between acable service provider and a cable service subscriber.

It is a still further object of this invention to provide a full servicetelevision system capable of delivering advanced television servicessuch as a comprehensive channel navigator, an interactive program guide,Impulse Pay-Per-View activation, Near-Video-On-Demand programming,Video-On-Demand programming, and advanced configuration controls.

It is an even further object of this invention to provide a full servicetelevision system capable of delivering services such as World Wide Webbrowsing, Internet E-Mail, and online services.

In accordance with these and other objects of the present invention, afull service television system is provided that includes digital andanalog programs and services, an advanced communications network, and afully programmable set-top terminal capable of implementing advancedtelevision and online services.

In the preferred embodiments of the present invention, the full servicetelevision system is implemented as a cable television system. Althougha cable television system is described herein, the present invention,and all of its features, may be implemented in other forms, such as, forexample, a Direct Broadcast Satellite (DBS) system, a Multi-channelMulti-point Distribution System (MMDS), an Asymmetric Digital SubscriberLoop (ADSL) system, a Local Area Network (LAN) system, or a Wide AreaNetwork (WAN) system.

Preferred implementations of the cable television system of the presentinvention include a cable headend, at least one fiber transport, atleast one distribution hub, at least one hybrid fiber coax plant, and aplurality of set-top terminals. The cable headend provides programs,services, and overall system control of the cable television system. Thefiber transports, distribution hubs, and hybrid fiber coax plantsprovide an advanced communication network for the cable televisionsystem. The set-top terminals provide interfaces, processing, andstorage capability in a subscriber's home to facilitate theimplementation of advanced television and online services.

To provide programs, services, and overall system control of the cabletelevision system of the preferred embodiments of the present invention,the cable headend incorporates digital and analog satellite receivers, abroadcast cable gateway, integrated receiver decoders, analog scramblingand modulation, application and media servers, an addressablecontroller, a digital switch or multiplexer, and an interactive cablegateway. Although these elements will be described herein as distinctfunctions, each can be implemented as a portion of a single device, as asingle device, or as a composition of devices.

Programs and services provided by the cable headend are supplied to thecable headend primarily through analog and digital satellite broadcastsand through digital data storage. The cable headend may also receiveprograms and services from sources such as, for example, analog off-airsignals, digital off-air signals, and locally originated signals.

Analog and digital satellite broadcasts are received at the cableheadend by a plurality of analog and digital satellite receivers.Integrated receiver decoders within the cable headend control thereception of the analog satellite broadcasts, and analog scrambling andmodulation converts the analog signals into a format suitable fortransmission over the cable system's communication network. Similarly, abroadcast cable gateway within the cable headend controls the receptionof the digital satellite broadcasts and converts the digital signalsinto a format suitable for transmission over the cable system'scommunication network.

Programs and services are also supplied to the cable headend throughdigitally stored data in application and media servers. Programs andservices stored in the application and media servers are firsttransmitted to the cable system's communication network through adigital switch or multiplexer and then through an interactive cablegateway. The digital switch or multiplexer can be implemented through anAsynchronous Transfer Mode switch, a Digital Video BroadcastAsynchronous Serial Interface (DVB ASI), or other suitable means. Theapplication servers can be connected directly to the digital switch ormultiplexer, or can be connected to the digital switch or multiplexervia an intermediate network. The media servers, however, shouldpreferably be connected to the digital switch or multiplexer directlybecause of the high bandwidth requirements of the media servers and thelimited bandwidth capabilities of present day networks. Programs andservices transmitted through the digital switch or multiplexer from theapplication and media servers are converted by the interactive cablegateway to a format suitable for transmission in the cable system'scommunication network. By connecting the application and media serversto the interactive cable gateway through the digital switch ormultiplexer, a cable system operator can add new application and mediaservers to the cable television system as needed.

Overall system control is provided by the cable headend primarilythrough an addressable controller. The functions performed by theaddressable controller can include, for example, control of allequipment interaction at the cable headend, management of the cabletelevision system's communication network, control of all equipmentlocated in the system's communication network, configuration andmanagement of set-top terminals (preferably both those of the presentinvention and those that may later be introduced into the marketplace),operational control of the distribution hubs, operational control of theinteractive cable gateway, and distribution control of programs andservices from the integrated receiver decoders, broadcast cable gateway,application servers, and media servers to the set-top terminals.

The communication network of the cable television systems of thepreferred embodiments of the present invention includes at least onefiber transport, at least one distribution hub, and at least one hybridfiber coax plant. The communication network preferably includes analogchannels with vertical blanking interval (VBI) signals, forwardapplication transport (FAT) channels, forward data channels (FDC), andreverse data channels (RDC). Analog channels with VBI signals maintaindownward compatibility with existing cable television equipment. FATchannels provide set-top terminals with compressed digital content suchas, for example, video, audio, applications, control message, andbroadcast data. Forward data channels carry to the set-top terminalsout-of-band Internet protocol (IP) datagrams containing messagesregarding, for example, conditional access, entitlement, broadcast data,network management, application downloads, variable bit-rate (VBR)downloads, external device data services, or general matters.Furthermore, all interactive program guide data is carried to theset-top terminals exclusively over the out-of-band forward datachannels. Reverse data channels carry IP datagram messages from theset-top terminals to equipment within the cable headend. These messagescan relate to, for example, network management, external device dataservices, program/service control and activation, or general matters.

The fiber transports carry signals between the cable headend and thedistribution hubs and are preferably each physically configured in aring connecting typically five distribution hubs to the cable headend.Each of the fiber transports includes a bundle of at least one fiberoptic cable, at least one of which is used by each distribution hub onthe physical ring of each fiber transport. By using selected fiber opticcables within the fiber transport's bundle, the distribution hubs may beconnected to the cable headend either through adjacent hubs in a logical“ring” configuration, directly to the headend in a logical “star”configuration, or in any other logical configuration.

The distribution hubs comprise a plurality of data channel gateways,each of which receives and transmits data messages between the cableheadend and the set-top terminals. The data channel gateways providerouting functions, modulation functions on the signals to the set-topterminals, and demodulation functions on the signals from the set-topterminals. The routing, modulation, and demodulation functions performedby the data channel gateways are all controllable by the addressablecontroller within the cable headend.

The hybrid fiber coax plants connect the distribution hubs to theset-top terminals and each includes fiber optic cable, a node, and aplurality of coaxial cables. The node in each hybrid fiber coax plantconverts optical signals to electrical signals and electrical signals tooptical signals such that two-way communication is maintained over thefiber optic and coaxial cables connecting the distribution hubs andset-top terminals.

The digital and analog programs and services furnished by the cableheadend are presented to cable subscribers by set-top terminals withintheir homes. In the preferred embodiments of the present invention, theset-top terminals each include a central processing unit, memory, amemory management unit, communications circuitry, I/O control circuitry,and audio and video output circuitry. Each set-top terminal iscontrolled by the central processing unit which executes operatingsystem and application software stored within memory. The memorymanagement unit simplifies and oversees the interaction between thecentral processing unit and memory. Communication circuitry in theset-top terminal receives, demodulates, decrypts, decodes, anddescrambles programs and services transmitted by the cable headend.Additionally, the communication circuitry also controls the two-waydigital data transmissions between the headend and the set-top terminal.Input/output (I/O) control circuitry controls subscriber interactionwith the set-top terminal through a keypad, an LED display, and a remotecontrol. The I/O control circuitry also interfaces the set-top terminalwith an accessories bus and external equipment (e.g., via an I/Rtransmitter), and is compatible with known interfaces, such as, forexample, Ethernet 10-base-T, P1394, and SPDIF. Audio and video controlcircuitry in each set-top terminal provides graphics generation, audiosynthesis, and real-time digital video processing, and generates theoutputs necessary to interface the set-top terminal with a subscriber'shome audio and video system. These audio and video outputs can include,for example, AC-3 audio, baseband audio, RF video, S-Video, and basebandvideo outputs.

In the preferred embodiments of the present invention, applicationsoftware within the set-top terminal provides the advanced cableservices desired by many cable subscribers. These services include acomprehensive channel navigator, an interactive program guide, ImpulsePay-Per-View activation, Near-Video-On-Demand programming,Video-On-Demand programming, and advanced configuration controls.Additionally, because the set-top terminal is upgradable via softwaredownloads from the cable headend, new services can be added to theset-top terminal as they become available.

The comprehensive channel navigation controls provided by theapplication software of the set-top terminal enable a subscriber to moreeasily navigate through the abundance of programming and services thatare available in the preferred embodiments of the present invention. Forexample, a program information banner can be displayed whenever asubscriber changes channels to identify the program currently beingdisplayed on the selected channel. This banner can include thefollowing: the channel's call sign, number, and logo; the program'sname, running time, and elapsed time; the current time; a briefdescription of the program; information regarding the next program onthat channel; or any other information that may be of interest to thesubscriber.

The navigation controls of the preferred embodiments of the presentinvention provide a channel selection function that includes a pluralityof tables that cross reference channel numbers with the type, source,parameters, and description of the various television services (e.g.,audio and video programming and online services) provided by the cablesystem. These tables create levels of control, transparent to thesubscriber, that allow the set-top terminal to identify the parametersand software needed to activate the program or service associated with aselected channel number. For example, if a subscriber selects channel10, which is associated with an E-mail service, the set-top terminalaccesses the cross-reference tables to identify the type and source ofthe television service associated with channel 10. The set-top terminalthen obtains from the tables any necessary parameters and executes theappropriate E-mail software to activate the selected service. Thus,rather than just map channel numbers to analog broadcast videofrequencies as in traditional cable systems, these tables allow channelnumbers to be mapped to other sources of data, such as, for example,MPEG video, VBI, IP, and ROM.

Furthermore, unlike traditional cable systems in which channel numbersare fixed to analog broadcast frequencies, these cross-reference tablesallow television services to be arranged in any channel number order,regardless of how they are transmitted by the cable system to theset-top terminal. For example, a channel table can be configured toassociate channel 4 with video service 3 provided by video source 2 or,alternatively, channel 4 can be associated with music service 12provided by music source 8. Once a set-top terminal channel number isassociated with a particular service, the association is maintained evenif the cable provider reassigns the cable channel numbers over which thetelevision services are transmitted.

The preferred embodiments of the present invention also provide channelsetting controls which enable a subscriber to fully configure theset-top terminal to operate as desired. For example, the subscriber canassign channels to a favorite channel list; block channels based onchannel number, time, program rating, genre, etc.; set timers to recorda particular program; turn the set-top terminal on or off at aparticular time; or remind the subscriber that a particular program ison or that a tape has to be put in an attached video cassette recorder(VCR).

A browse feature is also provided by the comprehensive navigationcontrols in the preferred embodiments of the present invention. Thebrowse feature presents a banner that can identify other programs orservices that are, were, or will be available for viewing on otherchannels. Similar to the program information banner describedpreviously, the browse banner can include the following: a channel'scall sign, number, and logo; a program's name, running time, and elapsedtime; the current time; a brief description of the current program;information regarding a program following the browse program; or anyother information that may be of interest to a subscriber.

An interactive program guide within the set-top terminal of thepreferred embodiments of the present invention further allows thesubscriber to easily operate the set-top terminal and navigate throughthe abundance of programs and services available in the cable televisionsystem. This interactive program guide can include any of at least threemain modes: a time mode, a theme mode, and a title mode.

In the time mode, program information is displayed in a grid arrangementwith rows preferably corresponding to channel numbers, and columnspreferably corresponding to times. By navigating through this grid, asubscriber can identify and review information regarding programs thatwere, are, or will be available for viewing.

The theme mode of the present invention displays program information ofprograms that were, are, or will be available for viewing based on asubscriber-selected theme category. Once a theme category has beenselected, all programs within that theme are displayed to thesubscriber. In some embodiments of the present invention, in addition toscrolling through programs corresponding to a selected theme, asubscriber can also scroll to other themes after reaching the end of thelist of programs corresponding to the selected theme.

Similar to the theme mode, the title mode lists and displays informationregarding programs available for viewing based on the titles of theprograms. Once a first letter is selected, all programs having titlesbeginning with that letter that were, are, or will be available forviewing are displayed to the subscriber. As with themes, in someembodiments of the present invention, a subscriber is not limited toviewing only those programs with titles beginning with the selectedletter, but rather the subscriber may scroll to program titles beginningwith other letters once an end of the program titles beginning with theselected letter has been reached.

All modes of the interactive program guide of the preferred embodimentsof the present invention can include a highlighted channel banner, ahighlighted program summary, a program viewing window, and modeindicators. The highlighted channel banner preferably indicates the callsign, channel number, and channel logo of the channel highlighted in theinteractive program guide display. The highlighted program summarypreferably indicates the title, running time, description, andcharacteristics of the program highlighted in the interactive programguide display. The program viewing window can display, for example, anyof the following: the program being viewed prior to entering theinteractive program guide, a program selected from the interactiveprogram guide, or a program selected at the headend. The content of theprogram in the program viewing window can include any of the programs orservices which can be displayed by the set-top terminal. The programviewing window can also include a time and channel banner indicating thecurrent time and the channel being displayed in the program viewingwindow. The mode indicators can indicate the current mode of theinteractive program guide and how to activate other available programguide modes.

The interactive program guide of the preferred embodiments of thepresent invention also facilitates rapid navigation to programs selectedby a subscriber. Once the subscriber has found a desired program in theinteractive program guide, the subscriber can, by pressing a single key,switch to the program if it is currently being transmitted, set a timerto remind the subscriber of its scheduled transmission, or record theprogram, either now if currently transmitted or at its scheduledtransmission time.

Impulse Pay-Per-View (IPPV) program purchasing is also facilitated inthe preferred embodiments of the present invention. Through ImpulsePay-Per-View, a subscriber can request a Pay-Per-view event from theset-top terminal's keypad or remote control. Upon the subscriberselecting an IPPV program, which can be through either the interactiveprogram guide, manual channel selection, or setting of a recordingtimer, the set-top terminal automatically identifies channels andprograms which are IPPV, queries whether the subscriber would like topurchase the selected IPPV program, and authorizes the purchase if thesubscriber so indicates. The preferred embodiments of the presentinvention also allow a subscriber to view summaries of past andcurrently scheduled IPPV purchases, and to cancel currently scheduledpurchases. Additionally, the IPPV features of the preferred embodimentsof present invention provide free preview screening of IPPV events,countdown timers to the start of an IPPV event, and automatic remindersif the subscriber has changed channels between the time of ordering andthe start time of the IPPV event.

Near-Video-On-Demand (NVOD) can also be implemented in the preferredembodiments of the present invention. NVOD programming transmits eachNVOD program from a plurality of sources, each source transmitting thesame NVOD program at a fixed time period out of phase with the others.Upon a request to view an NVOD program, the set-top terminal displays onan NVOD channel the source that will next begin transmitting theselected NVOD program based on when the subscriber chooses to view theprogram.

NVOD programming can simulate the VCR functions of pausing, fastforwarding, and rewinding. This is accomplished by switching the NVODchannel to another NVOD program source. For example, to pause an NVODprogram, the set-top terminal displays a pause “barker” (e.g., on-screenmessage) for the time period between consecutive out-of-phasetransmissions of the NVOD program. Once the time period has passed, theset-top terminal switches to the source that began transmitting theprogram one time period after the previously displayed source'stransmission. The NVOD program thus resumes at the point where pausedand appears to the subscriber to have been paused by that time period.Similarly, fast forwarding and rewinding are accomplished by switchingdirectly to another NVOD program source. For example, fast forwardingswitches to a source that began transmitting the program before thecurrently viewed transmission, and rewinding switches to a source thatbegan transmitting the program after the currently viewed transmission.By switching to a different NVOD program source, the NVOD programappears to have jumped by the time period between transmissions.

Video-On-Demand (VOD) programming can also be implemented in thepreferred embodiments of the present invention. VOD is facilitatedprimarily by the media servers' ability to deliver high-speed digitaldata to subscribers' set-top terminals. Upon a subscriber's request toview a VOD event, a media server capable of delivering the VOD eventbegins digitally transmitting the program to the subscriber's set-topterminal. Unlike traditional broadcasts, this transmission is typicallyreceived only by the subscriber who requested the VOD event. Asubscriber can therefore view the program at any time, and can alsopause, fast forward, or rewind the program being transmitted.

Finally, the preferred embodiments of the present invention also allowmessages to be transmitted to one or more subscribers. These messagescan be sent to all subscribers (e.g., an emergency broadcast message) orto only one subscriber (e.g., an unpaid balance message). This messagesystem can also send messages from one party within a household toanother (e.g., an instruction by a parent to a child) or from onehousehold to another. Thus a local messaging system within the cablesystem's community can be established. Additionally, these messages canbe configured to activate a service at a subscriber's set-top terminal.For example, a set-top terminal can be automatically turned on todisplay an emergency news broadcast upon receipt of a message from theheadend. Thus a subscriber can be alerted by the set-top terminal at anytime, regardless of whether the set-top terminal is on or not.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and advantages of the present invention willbe apparent upon consideration of the following detailed description,taken in conjunction with the accompanying drawings, in which likereference characters refer to like parts throughout, and in which:

FIG. 1 is a block diagram of a cable television system of a preferredembodiment of the present invention;

FIG. 2 is a schematic diagram of a cable television system of apreferred embodiment of the present invention;

FIG. 3 is a block diagram of a set-top terminal of a preferredembodiment of the present invention;

FIG. 4 is a flow diagram of a channel navigation function of a set-topterminal of a preferred embodiment of the present invention;

FIG. 5 is a data structure diagram illustrating a channel selectionfunction of a preferred embodiment of the present invention;

FIGS. 6-7 are flow diagrams illustrating a browse function of a set-topterminal of a preferred embodiment of the present invention;

FIG. 8 is layout diagram illustrating a browse banner of a preferredembodiment of the present invention;

FIGS. 9-13 are flow diagrams illustrating channel and general settingfunctions of a set-top terminal of a preferred embodiment of the presentinvention;

FIG. 14 is an illustrative screen display of a general setting menu of aset-top terminal of a preferred embodiment of the present invention;

FIG. 15 is a flow diagram illustrating a general setting function of aset-top terminal of a preferred embodiment of the present invention;

FIGS. 16-17 are illustrative screen displays of the time mode of aninteractive program guide of a set-top terminal of a preferredembodiment of the present invention;

FIG. 18 is a flow diagram illustrating entry, navigation, and tuningwithin the time mode of an interactive program guide of a set-topterminal of a preferred embodiment of the present invention;

FIG. 19 is a flow diagram illustrating switching modes within aninteractive program guide of a set-top terminal of a preferredembodiment of the present invention;

FIGS. 20-21 are illustrative screen displays of a theme mode of aninteractive program guide of a set-top terminal of a preferredembodiment of the present invention;

FIGS. 22-23 are illustrative screen displays of a title mode of aninteractive program guide of a set-top terminal of a preferredembodiment of the present invention;

FIGS. 24-27 are flow diagrams illustrating the operation of aninteractive program guide of a set-top terminal of a preferredembodiment of the present invention;

FIG. 28 is a flow diagram illustrating an Impulse Pay-Per-View functionof a set-top terminal of a preferred embodiment of the presentinvention;

FIG. 29 is an illustrative screen display of an Impulse Pay-Per-Viewbarker of an Impulse Pay-Per-View function of a set-top terminal of apreferred embodiment of the present invention;

FIGS. 30-32 are flow diagrams illustrating the operation of an ImpulsePay-Per-View function of a set-top terminal of a preferred embodiment ofthe present invention;

FIGS. 33-34 are flow diagrams illustrating the operation of aNear-Video-On-Demand function of a set-top terminal of a preferredembodiment of the present invention; and

FIG. 35 is an illustrative screen display of a messaging function of aset-top terminal of a preferred embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

A cable television system 1 of a preferred embodiment of the presentinvention is shown in FIG. 1. Cable system 1 includes five primarycomponents: a headend 2; at least one fiber transport 3; at least onedistribution hub 4; at least one hybrid fiber coax plant 5; and aplurality of set-top terminals 6, typically located in the homes ofsubscribers. Headend 2 is the primary source of programs, services, andcontrol of cable system 1. Programs, services, and control signals aredelivered to subscribers' set-top terminals 6 from headend 2 bytransmitting signals through fiber transport 3, distribution hub 4, andhybrid fiber coax plant 5. These transmissions can be in the form ofbroadcasts to all set-top terminals, narrowcasts to a group of set-topterminals, multicasts to a list of particular set-top terminals, orunicasts to a single set-top terminal. The present invention can beimplemented as a one-way cable television system in which signals areonly transmitted from headend 2 to set-top terminals 6, oralternatively, in a preferred embodiment, can be implemented as atwo-way interactive cable television system. Subscribers interact withthe programs and services provided by headend 2 by transmitting signalsfrom set-top terminals 6 through hybrid fiber coax 5, distribution hub4, and fiber transport 3 to headend 2.

To provide the programs, services, and control of cable system 1,headend 2 includes a plurality of digital satellite receivers 10, abroadcast cable gateway (BCG) 11, a plurality of analog satellitereceivers 12, a plurality of integrated receiver decoders (IRD) 13,analog scrambling and modulation circuitry 20, an addressable controller(AC) 14, a plurality of application servers 15, a plurality of mediaservers 16, a digital switch or multiplexer 17, and an interactive cablegateway (ICG) 18. Although each of these headend 2 elements aredescribed as single functions, each can be implemented as part of asingle device, as a single device, or as a plurality of devices.

The programs and services generated by headend 2 are received from fourprimary sources: analog satellite transmissions from analog serviceproviders, digital satellite transmissions from digital serviceproviders, application programs and services on application servers 15,and media programs and services on media servers 16. Programs andservices can also be received at headend 2 from other sources, such as,for example, analog off-air signals, digital off-air signals, andlocally originated signals. Analog and digital satellite transmissionstypically provide the traditional forms of television broadcast programsand information services. Application servers typically provide, forexample, executable code and data for application specific services suchas database services, network management services, transactionalelectronic commerce services, system administration console services,application specific services (such as stock ticker, sports ticker,weather, and interactive program guide data), resource managementservices, connection management services, subscriber care services,billing services, operation system services, and object managementservices. Media servers provide time-critical media assets, such as, forexample, MPEG-2 encoded video and audio, MPEG-2 encoded still images,bit-mapped graphic images, PCM digital audio, three dimensional graphicobjects, application programs, and application data files. Althoughspecific examples of programs and services and the sources that providethem (such as analog and digital satellite transmissions, applicationservers, and media servers) are given herein, other programs andservices, and programs and services from other sources, can be providedto cable system 1 without departing from the spirit and scope of thepresent invention.

To provide this multitude of programs and services to a subscriber'shome on a single coaxial cable, these signals are preferably modulatedonto a plurality of 6 MHZ frequency division multiplexed (FDM) channelsin the RF spectrum from 5 MHZ through 860 MHZ. More specifically, the 6MHZ FDM channels in the present invention can be used to carry analogchannels with vertical blanking interval (VBI) signals, forwardapplication transport (FAT) channels, forward data channels (FDC), andreverse data channels (RDC). In one embodiment of the present invention,analog channels are in the frequency range of 50 to 500 MHZ, FATchannels are in the frequency range of 500 to 750 MHZ, and FDCs and RDCsare in the frequency ranges of 5 to 40 MHZ and 70 to 130 MHZ,respectively. Although values for the bandwidth, upper limits, and lowerlimits of these channels are given herein, these values can be alteredto suit the individual needs and capabilities of any system in which thepresent invention is implemented without departing from the spirit andscope of the present invention. For example, 1 MHZ FDM channels can beimplemented wherein each of the analog channels, FAT channels, forwarddata channels, and reverse data channels use different sections of theRF spectrum.

Analog programs and services are received from satellite transmissionsin the preferred embodiments of the present invention by analogsatellite receivers 12, integrated receiver decoders 13, and analogscrambling and modulation circuitry 20. Analog satellite receivers 12typically receive the satellite transmissions from the analog serviceproviders in a modulated and scrambled NTSC format. Integrated receiverdecoders 13 demodulate and descramble the satellite signals into NTSCsignals, and then analog scrambling and modulation circuitry 20scrambles (using the cable system's scrambling method, if desired) andmodulates the NTSC signals onto an analog 6 MHZ FDM channel. The FDMmodulation frequencies and scrambling techniques used for the NTSCsignals are preferably selected to maintain downward compatibility withanalog set-top terminals that may be used with the present invention.The demodulation, descrambling, scrambling, and modulation functionsperformed by integrated receiver decoders 13 and analog scrambling andmodulation circuitry 20 can alternatively be performed by otherdedicated devices, such as, for example, satellite receivers, satellitedecoders, NTSC scramblers, and NTSC modulators.

Digital services are received from satellite transmissions by digitalsatellite receivers 10. The signals received by digital satellitereceivers 10 typically arrive in quadrature phase shift key (QPSK)modulated, encrypted MPEG-2 transport stream format. Once the satellitetransmissions have been received by the digital satellite receivers,broadcast cable gateway (BCG) 11 converts the transmissions signals fortransmission over the cable system's communication network under thecontrol of addressable controller 14. broadcast cable gateway 11demodulates, applies forward error correction (FEC), if desired, anddecrypts the satellite transmission to recover an MPEG-2 transportstream. The MPEG-2 transport stream may then be manipulated by BCG 11 toremove unwanted programs from the stream to form an MPEG-2 payload. BCG11 then encrypts the payload (if desired) and modulates it onto aforward application transport (FAT) 6 MHZ FDM channel. The modulation ofFAT channels is preferably 64 or 256 quadrature amplitude modulation(QAM), which enables the channels to carry digital data at ratestypically in the range of 27 to 38 Mbps, respectively. By using MPEG-2payloads, the present invention provides an increase in the number ofprograms and services that can be transmitted on a 6 MHZ channel overthat available with analog technology by digitally compressing andcombining a plurality of programs and services into a single MPEG-2payload.

Application and media programs and services are provided by applicationand media servers 15 and 16 under the control of addressable controller14 through digital switch or multiplexer 17, interactive cable gateway18, and data channel gateways 19 in distribution hubs 4. The programsand services provided by application and media servers 15 and 16 arepreferably provided in MPEG-2 transport stream format. Addressablecontroller 14 may oversee the distribution of programs and services byservers 15 and 16 by processing requests for programs and services fromset-top terminals 6, instructing the servers when, where, and how todeliver a requested program or service, and directing the programs andservices through the digital switch or multiplexer to the interactivecable gateway and data channel gateways in the distribution hubs.

Digital switch or multiplexer 17 connects servers 15 and 16 toaddressable controller 14, to interactive cable gateway 18, and to datachannel gateways 19 in distribution hubs 4. Because the programs andservices provided by application servers 15 typically do not requirehigh bandwidth, these servers can be connected to digital switch ormultiplexer 17 directly (as shown) or via intermediate networks. Mediaservers 16, however, do require a great deal of bandwidth andaccordingly should be connected to digital switch or multiplexer 17 orinteractive cable gateway 18 directly until intermediate networks withsufficient bandwidth become available. Furthermore, to achieve theirhigh bandwidth requirement, media servers 16 should incorporate storagedevices having interfaces with speeds of at least SCSI Fast and SCSIWide interfaces, and preferably speeds of Ultra SCSI and fiber channelinterfaces.

Interactive cable gateway (ICG) 18 processes the servers' signals sothey can be transmitted over the cable system's communication network.Signals received at ICG 18, either through digital switch or multiplexer17 or from servers 15 or 16 directly, are optionally encrypted,optionally subjected to forward error correction (FEC), and modulatedonto a 6 MHZ FAT channel using 64 or 256 quadrature amplitude modulation(QAM).

The analog channels, forward application transport channels, forwarddata channels, and reverse data channels are transmitted between thecable headend and the set-top terminals over the cable systems'communication network. As shown in FIG. 2, this network comprises atleast one fiber transport 3, at least one distribution hub 4, and atleast one hybrid fiber coax plant 5.

Each fiber transport 3 connects headend 2 to at least one distributionhub 4. Typically fiber transport 3 is physically configured as a ring ofbundled fiber optic cables. In this configuration, six cables in thebundle of each fiber transport 3 are typically dedicated to each hub 4on the ring, and each hub 4 is typically within twenty miles of headend2. For those hubs 4 that are more than a limiting distance (e.g., morethan 20 miles) from headend 2, an intermediate distribution hub 4 may beneeded to retransmit the signals in fiber transport 3.

By selecting particular fiber optic cables within the bundle of fibertransports 3, the distribution hubs can be connected to headend 2through adjacent hubs in a logical “ring” configuration, or directly toheadend 2 in a logical “star” configuration. Alternatively, otherlogical configurations can be used. However, an advantage of the ringconfiguration is that no distribution hub 4 is cut off from headend 2 bya single break in fiber transport 3.

Hybrid fiber coax plants 5 connect distribution hubs 4 to set-topterminals 6. In a preferred embodiment, hybrid fiber coax plants 5include a plurality of fiber optic cables 25, a plurality of nodes 26,and a plurality of coaxial cables 27. A plurality of radio frequency(RF) amplifiers (not shown) may also be required at various locationsthroughout coaxial cables 27 to compensate for losses that occur whenthe coaxial cable is split to connect each set top terminal. Nodes 26convert the optical signals in fiber optic cables 25 generated by thedistribution hub 4 into electrical signals for transmission on coaxialcables 27 to set-top terminals 6. Return signals from set-top terminals6 on coaxial cables 27 are converted to optical signals by nodes 26 fortransmission in fiber optic cable 27 to distribution hubs 4.

As shown in FIG. 1, each distribution hub 4 comprises a plurality ofdata channel gateways 19 that support the forward and reverse datachannels between headend 2 and set-top terminals 6. In the preferredembodiment of the present invention, the signals in the forward andreverse data channels between headend 2 and data channel gateways 19 areInternet protocol datagrams. Between data channel gateways 19 andset-top terminals 6, these Internet protocol datagrams may be encryptedor decrypted, as desired, and QPSK modulated or demodulated.Accordingly, data channel gateways 19 can include routing, encryption,decryption, QPSK modulation, and QPSK demodulation functions.

One embodiment of set-top terminal 6 constructed in accordance with thepresent invention is shown in FIG. 3. Set-top terminal 6 includes thefollowing: a central processing unit (CPU) 30, a memory management unit31, memory 32 comprising NVRAM, DRAM, flash read only memory (ROM), andROM, an MPEG-2 decompression unit 33, an A/D converter 34, an IP router35, a security unit 36, a QAM 64/256 demodulator 37, an NTSC decoder 38,a QPSK demodulate unit 39, a QPSK modulate unit 40, an in-band tuner 41,an out-of-band tuner 42, an out-of-band transmitter 43, an NTSC encoder44, an RF modulator 61, an RF output 45, an S-Video output 47, abaseband video output 48, a graphics subsystem 46, an audio subsystem49, an AC-3 audio output 50, a baseband audio output 51, an I/Osubsystem 52, a keypad 53, an LED display 54, an IR receiver 55, an IRtransmitter 56, an accessories bus interface 57, and a 10-base-Tinterface 58.

Controlling the operation of set-top terminal 6 is central processingunit 30. Preferably CPU 30 is a processor that can support 32 bitarithmetic and logical operations, operate at speeds of at least 25MIPS, and support a system of dynamically prioritizable hardware andsoftware interrupts. An example of a suitable processor for CPU 30 isthe SUN Micro-Systems micro-SPARC core. CPU 30 executes instructionsstored in memory 32 under the control of an operating system such as thePowerTV Operating System by PowerTV, Inc., of Cupertino, Calif. CPU 30accesses memory 32 through memory management unit (MMU) 31. MMU 31provides memory protection for application processes and the kernel, andprovides a flat address space for subscriber processes.

Memory 32 comprises non-volatile random access memory (NVRAM), dynamicrandom access memory (DRAM), flash read only memory (ROM), and read onlymemory (ROM). NVRAM is used primarily for the storage of subscribersettings and set-top terminal configuration settings, such as, forexample, parental control codes, favorite channel line ups, set-topterminal setups, channel maps, authorization tables, and forward datachannel address assignments. At least 2K bytes of NVRAM should beprovided in memory 32. Dynamic RAM is used for most application andoperating system storage requirements, such as, for example, the stack,heap, graphics, interactive program guide data, channel map, VCR codes,marketing data, and usage data, and functions such as MPEG-2 videodecompression, AC-3 audio decoding, and video manipulation. At least 3Mbytes of dynamic RAM should be provided in memory 32. Flash ROM is usedprimarily for the storage of resident application software, as well aspatches to the operating system and application software which aredownloaded to the set-top terminal from the headend after the set-topterminal has been deployed in the subscriber's home. At least 1M byte offlash ROM should be provided in memory 32. ROM is used primarily for thestorage of the operating system. At least 1M byte of read only memoryshould be provided in memory 32. Although specific purposes for theNVRAM, DRAM, flash ROM, and ROM are illustrated herein, these memoryelements can be used for purposes not listed and for purposes listed ascorresponding to other elements without departing from the spirit andscope of the present invention.

Frequency division multiplexed (FDM) signals from headend 2 areinitially received from hybrid fiber coax plant 5. In-band tuner 41receives programs and services transmitted to the set-top terminal onanalog channels and forward application transport channels. Theseprograms and services include analog programs and services from analogsatellite broadcasts, digital programs and services from digitalsatellite broadcasts, some digital programs and services fromapplication servers, and digital programs and services from mediaservers. NTSC decoder 38 receives the analog programs and services fromin-band tuner 41 and produces NTSC baseband signals. QAM 64/256demodulator 37 receives the digital programs and services from in-bandtuner 41 and demodulates the signal into MPEG-2 payloads. Out-of-bandtuner 42 receives only incoming IP datagram messages from headend 2 onthe forward data channel. Messages transmitted from the headend to theset-top terminals in Internet protocol datagrams on the forward datachannel include interactive program guide data messages as well as otherdata and control messages. Messages received by out-of-band tuner 42 areQPSK demodulated by QPSK demodulator 39 to reveal the IP datagrams. Theanalog NTSC baseband signals, the digital MPEG-2 payloads, and thedigital IP datagrams are descrambled (if necessary), decrypted (ifnecessary), and screened by security unit 36. Additionally, securityunit 36 provides encryption, key management, authentication, and securetransaction functions, and prevents downloading of viruses byauthenticating trusted sources, vandalism of software, theft ofservices, falsified orders by using electronic signatures, tamperingwith the set-top terminal, and direct cloning or remanufacturing of theset-top terminal.

After descrambling, decryption, and screening by security unit 36, thebaseband signals, MPEG-2 payloads, and IP datagrams are passed on to theanalog-to-digital converter 34, MPEG-2 decompress unit 33, and IP router35. As their names imply, analog-to-digital converter 34 converts theNTSC baseband signals to digital signals; MPEG-2 decompress unit 33decompresses the MPEG-2 payloads; and IP router 35 routes the IPdatagrams toward their ultimate destination.

Outgoing IP datagram messages are also processed by IP router 35. Afterrouting the outgoing IP datagrams, security unit 36 screens and encryptsthe IP datagrams (if necessary). The IP datagrams are then QPSKmodulated by QPSK modulator 40 and transmitted to hybrid fiber coaxplant 5 by out-of-band transmitter 43.

The video and audio outputs of set-top terminal 6 are generated bygraphics subsystem 46, audio subsystem 49, NTSC encoder 44, and RFmodulator 61. Graphic subsystem 46 produces graphic images and scalesMPEG-2 and NTSC video. NTSC encoder 44 generates S-Video output 47 andbaseband video output 48 from digitized MPEG-2 and NTSC video. Audiosubsystem 49 produces the audio outputs for set-top terminal 6 includingAC-3 audio output 50 and baseband audio output 51. RF modulator 61generates NTSC RF output 45 necessary to drive a television withoutS-Video or baseband inputs from signals received from NTSC encoder 44and audio subsystem 49.

I/O subsystem 52 controls input and output functions and the 10-base-Tcomputer interface for set-top terminal 6. As shown in FIG. 3, I/Osubsystem 52 receives inputs from keypad 53, I/R receiver 55,accessories bus 57, and 10-base-T interface 58. I/O subsystem 52 alsoproduces outputs to LED display 54, I/R transmitter 56, accessories bus57, and 10-base-T interface 58. Keypad 53 enables the subscriber tocontrol set-top terminal 6 without remote control 59. LED display 54provides a numeric display for channel or time indication, and providesa plurality of single LEDs to indicate statuses such as power on,message waiting, set-top output disabled, etc. I/R receiver 54 receivesand digitizes input from remote control 59. I/R transmitter 56 controlsa VCR 60 and sends updates to remote control 59. Accessories bus 57connects to external equipment such as keyboards, joysticks, mouses, I/Rtransmitters, etc. The 10-base-T interface can be used to connect toEthernet interfaces in equipment such as routers, personal computers, orhome entertainment equipment.

FIGS. 4 through 35 illustrate the operation of preferred embodiments ofthe application software of set-top terminal 6 of the present invention.Referring to FIG. 4, the operation of the channel selection function ofone embodiment of the present invention is shown. From a first channeldisplay 100, the channel selection function changes channels in responseto pressing a channel up/down key 102 on set-top terminal 6 or itsremote control 59. This causes a second channel display 106 to bedisplayed. In the preferred embodiment of the channel selectionfunction, a program information banner 114 is displayed indicating thecurrent channel's channel number 116, the current channel's call sign118, current time 120, the current program's name 123, running time 125,and elapsed time 127. Banner 114 may also include information regardingthe program following the program currently being transmitted. Banner114 is preferably displayed for a fixed period of time (e.g., 2 seconds)or until an information key 104 is depressed on set-top terminal 6 orits remote control 59. Pressing channel up/down key 102 again causesset-top terminal 6 to select the next channel in order. For example, asshown, pressing the up side of channel up/down key 102 causes thedisplay to switch from channel 4 (KNBC) to channel 5 (HBO). Similar tothe initial display of second display 106, the initial display of athird channel display 108 can include a program information banner 122.

Additionally, in the preferred embodiments of the present invention,pressing information key 104 from a first channel display 100 causes aprogram information banner 124 to be displayed on first channel display100. Similar to program information banners 120 and 122, programinformation banner 124 can display the current channel's channel number,the current channel's call sign, the current time, the current programname, the program's running time, and the program's elapsed time. Likebanner 114, banner 124 may also include information regarding theprogram following the program currently being transmitted. Pressinginformation key 104 again with program information banner 124 displayedpreferably causes a more detailed program information banner 126 to bedisplayed on first channel display 100. Unlike banners 114, 122, and124, more detailed program information banner 126 preferably does notdisplay the running time and elapsed time but rather displays a briefdescription of the program's contents. As shown, program informationbanner 126 may omit the current program's name or, as in the preferredembodiments, may include the current program's name.

As an alternative to changing channels using channel up/down key 102 asshown in FIG. 4, channel selection can be accomplished by entering thenumber of a channel on a numeric keypad. Such a keypad is preferably onremote control 59 and can also be on set-top terminal 6. The channelnumber is entered on the numeric keypad one digit at a time from left toright, optionally preceded by zeros if the number of digits in thechannel number is less than the number of digits required for thechannel selection function. For example, in a set-top terminal withthree-digit selection, a subscriber enters the channel number “125” bypressing the one-key, followed by the two-key, and then by the five-key.To enter the number “50” on a three-digit selection set-top terminal 6,the subscriber enters the number zero, then five, then zero, or simplyenters a five followed by a zero. In the latter case, set-top terminal 6automatically adds the leading zero to the channel number and selectsthe new channel accordingly.

In the preferred embodiments, the channel selection function of thepresent invention includes a plurality of channel cross-reference tablesas shown in FIG. 5. These tables cross reference set-top terminalchannels with a variety of television services, which can includevarious types of video and audio programming and online services.Transparent to subscribers, selection of a channel transfers control toa specific application program that, along with one or more appropriateparameters obtained from the cross-reference tables, activates (i.e.,displays on the selected channel) the television service associated withthat selected channel. The channel selection function advantageouslyenables set-top terminal 6 to process data from sources other than justtraditional analog video broadcast sources. These other sources caninclude, for example, MPEG video, VBI, IP, and ROM.

Referring to FIG. 5, channel table 101 associates channels of set-topterminal 6 with a plurality of television services listed in servicetable 103. When a subscriber selects a channel, that channel is firstidentified in channel table 101 where a pointer associates the channelwith a particular service in service table 103. For example, channel 5is associated with service 4, channel 7 is associated with service 6,and channel 14 is associated with service 14.

Service table 103 preferably indicates the type of service provided. Forexample, as shown in column 111, services 1-5 are video services,service 6 is a split service (described below), services 12 and 13 aremusic services, and service 14 is an NVOD service. Optionally, a channeldoes not have to be associated with a television service, in which caseit is associated with “null” service 0 (e.g., channels 8 and 9 areassociated with service 0). Other service types, such as, for example, ahome shopping service, a still image library service, an online databaseservice, a World Wide Web browsing service, or an E-Mail service, can beadded to service table 103 and are represented in service table 103 by“other” service 16.

Service table 103 preferably provides descriptive information for eachtelevision service listed. Represented by column 125, this informationmay include, for example, the service's logo, programming schedule, andprogram content, and can be used as a source for the program informationbanners described previously or the browse information banners andinteractive program guide described in more detail further below.

Service table 103 further preferably provides parameter references asshown in column 123 for identifying sources of listed televisionservices. The parameter references point to parameter tables, such as,for example, video parameter table 105, split parameter table 107, musicparameter table 109, NVOD parameter table 127, VOD parameter table 129,and “other” parameter table 131.

Video parameter table 105 provides application parameters needed toactivate video sources 1-9. The content of video sources 1-9 mayinclude, for example, recently released movies, classic movies, sciencefiction programming, or weather information. Application softwareparameters are used by set-top terminal 6 (in particular, CPU 30) whenexecuting application software, and may simply include the frequency ofa particular source's signals or other more complex variables.

Split parameter table 107 allows a channel to be associated with two ormore services, each during different time periods. These services can beof different types and from different sources. For example, if asubscriber selects channel 7, set-top terminal 6 determines from channeltable 101 that channel 7 is associated with service 6. From servicetable 103, set-top terminal 6 determines that the source of service 6 isa split service governed by split parameter table 107. From splitparameter table 107, set-top terminal 6 determines that channel 7 isassociated with service 10 during time period one (time1) and service 11during time period two (time2). Set-top terminal 6 then refers to videoparameter table 105 to determine the sources and parameters foractivating services 10 and 11. Thus, selecting channel 7 will causeset-top terminal 6 to activate source 8 during time period one andsource 9 during time period two.

The other parameter tables function similarly to video parameter table105. Music parameter table 109 identifies sources of music and providesthe appropriate parameters for activating these sources. NVOD parametertable 127 provides application parameters for activating aNear-Video-On-Demand service and, similarly, VOD parameter table 129provides application parameters for activating a Video-On-Demandservice. Other Parameter Table 131 is representative of other televisionservice sources and application parameters that can be provided by acable system of the present invention.

In sum, the cross reference tables of the channel selection functionenable set-top terminal 6 to execute software and activate a variety oftelevision services. When a subscriber selects a channel, set-topterminal 6 identifies the type of service associated with the selectedchannel from channel table 101 and service table 103, and then executesthe appropriate program (or special routine within the running programthat allows channel selection) to tune in the frequency of the service'ssource by referring to the appropriate parameter table, descrambling thesignal if necessary, and displaying the source's contents on theselected channel. Advantageously, set-top terminal 6 can respond toother types of services that require more interaction. For example, arequest to view a channel incorporating a World Wide Web browser resultsin set-top terminal 6 executing either a resident copy of a Web browseror a downloaded copy from the headend, requesting log-in informationfrom the subscriber, and establishing a browsing session with theheadend. Thus the types of services that can be provided to subscribersare not limited by set-top terminal 6. Preferably, new types of servicescan be added to the cable system's offerings by downloading a newservice type module to set-top terminal 6. The cross-reference tables(i.e., channel, service, and parameter tables) are accordingly updatedand the new module can then be executed whenever a subscriber selects achannel corresponding to that service.

Furthermore, by configuring set-top terminal channel settings based onentries in service table 103 rather than on entries in channel table101, changes in the cable channel lineup over which television servicesare transmitted to set-top terminal 6 do not invalidate a subscriber'sset-top terminal channel settings. In other words, the subscriber'smapping of set-top terminal channels to television services ismaintained even if the cable service provider reassigns the cablechannels over which those services are transmitted. Preferably, whensuch a reassignment occurs, an updated channel-to-service mappingcorresponding to the reassignment is downloaded to set-top terminal 6 tomaintain the existing association of set-top terminal channels totelevision services. Thus, for example, once parents configure channelsettings to block particular services deemed inappropriate for theirchildren, a reassignment of cable channels over which those services aretransmitted will not affect those services' blocked status. Similarly,other channel settings, such as a subscriber's favorite channel line-up,will also not be affected if such cable channel reassignments occur.

To prevent channel settings from becoming invalid during the lifetime ofa set-top terminal, television services listed in service table 103 of apreferred embodiment of the present invention are typically not deletedor replaced. Instead, a new service is assigned to reserved space orspace which is dynamically allocated within service table 103.

The manner in which requests for services are made by differentapplications within set-top terminal 6 are simplified in a preferredembodiment of the present invention by incorporating a uniform resourcelocator (URL), similar to that on the Internet, to uniformly identifyservices requested. Services are identified by a URL that incorporatesinformation regarding the format, physical location, logical location,and identity of the service requested (e.g.,format://physical/logical/identity). For example, if a service isrequested that resides on a server at the headend, the URL identifiesthe format (e.g., the headend's format), the particular server at theheadend, the directory on that server, and the file in that directory.Alternatively, if a service is requested that resides in set-topterminal 6, the URL identifies the format (e.g., code segment format),the physical location (i.e., set-top terminal 6), the particular blockof memory, and the memory address of the requested service.

FIG. 6 illustrates the “Browse” mode of the present invention. Thebrowse mode is entered by pressing the up, down, left, or right arrowkeys whenever a program information banner or more detailed programinformation banner is being displayed. For example, from a televisiondisplay 110 incorporating either a program information banner 124 or amore detailed program information banner 126, pressing up or down arrowkeys 128 causes a browse information banner 132 to be displayed. Browseinformation banner 132 displays information for programs other than thatcurrently being displayed on display 110. As shown, a program entitled“Comedy: D. Miller” is being displayed on display 110 (see programinformation banner 124). However, browse information banner 132 reflectsinformation for a program entitled “CBS Sports.” The subscriber cantherefore determine what other programs are available for viewing whilestill observing the currently selected program. By repeatedly pressingup or down arrow keys 128, information regarding other concurrentlytransmitted television programs can also be displayed on browseinformation banner 132. Pressing information key 104 whenever a browseinformation banner 132 is displayed causes banner 132 to be replaced bya more detailed browse information banner 142 displaying a briefdescription of the browse program rather than the browse running timeand elapsed time. As with the program information banner 126, browseinformation banner 142 may is omit the browse program's name (as shown)or, as in the preferred embodiments, may include the browse program'sname.

The browse mode of set-top terminal 6 can be exited by pressing channelup/down key 102, by pressing select key 136, by pressing information key104 whenever more detailed browse information banner 142 is displayed,or by waiting a fixed period of time (e.g., 20 seconds) without pressingany remote control 59 or set-top terminal 6 key. More particularly,pressing channel up/down key 102 with a displayed browse informationbanner 132 causes the following: the banner is removed from the display,the channel tuner selects and displays the next channel following thepreviously displayed channel (in this case channel 4 follows thepreviously displayed channel 3 since the up side of channel up/down key102 was pressed), and a program information banner 133 is displayed forthe new channel as shown in channel display 106. Alternatively, pressingselect key 136 with browse information banner 132 displayed causesset-top terminal 6 to tune in and display browse channel 138 and tobriefly display a program information banner 140.

The browse information banner can also be used to display informationfor programs that were or will be transmitted. For example, as shown inFIG. 7, browse information banner 152 can be used to display informationfor a program airing in twenty minutes from the current time. This canbe done, for example, as follows: from a program information banner 124displayed within a television display 110, the browse mode of set-topterminal 6 is entered by pressing up arrow key 128. With the browse modeentered, a browse information banner 148 displays information for abrowse channel (i.e., channel 4, KNBC) during a browse period whichstraddles the current time (i.e., 8:10 p.m.). By pressing right arrowkey 128, the browse period changes to the period for the next program onthe browse channel. Alternatively, the subscriber can press left arrowkey 128 to change the browse period to the previous program on thebrowse channel. In a similar fashion, by repeatedly pressing up, down,left, and right arrow keys 128, the subscriber can view information forprograms on other channels and at different times.

As described in connection with FIG. 6, once the subscriber has viewedbrowse information banner 152, more detailed information can be obtainedor the subscriber can exit the browse mode of set-top terminal 6. Forexample, by pressing information key 104 with the browse informationbanner 152 displayed, the subscriber causes browse information banner152 to be replaced by a more detailed browse information banner 154.Banner 154 may replace the program name, running time, and elapsed timeof banner 152 with a brief description of the browse program's contents.Alternatively, the browse mode may be exited by pressing channel up/downkey 102 to view a new channel display 158 or by not pressing any keys onremote control 59 or terminal 6 for a fixed period of time (e.g., 20seconds).

Although the embodiment of the browse banner shown in FIGS. 6 and 7 isactivated from the program information banner by pressing the up or downarrow keys, the browse banner of the present invention can also beactivated by pressing the left or right arrow keys from the programinformation banner.

FIG. 8 provides a more detailed illustration of an embodiment of thebrowse information banner of the present invention. As shown, browseinformation banner 160 can display the browse channel's channel number160, call sign 162, logo 164, a favorite channel icon 166, a blockedchannel icon 168, current time 170, the browse program's name 172,running time 174, elapsed time 176, and icons to indicate whether thebrowse program is closed-captioned 178, has a second audio program 180,is in stereo 182, and is designated to be recorded 184.

As shown in FIG. 9, a channel settings menu 190 allows the subscriber ofset-top terminal 6 to change the favorite, blocked, and record statusfor each channel. The subscriber enables channel settings menu 190 bypressing a settings key 188 on set-top terminal 6 or its remote control59 from any television display 186. As illustrated, channel settingsmenu 190 may be incorporated into the previously viewed televisiondisplay 186 while leaving the television audio unaffected. Withinchannel settings menu 190, settings may be provided which allow thesubscriber to add the current channel (i.e., KCBS) to the favoritechannel list (setting 200), block the current channel (setting 202), andrecord the current channel (setting 204). To select any of settings 200,202, or 204, the subscriber highlights one of the settings bypositioning the setting within cursors 198 and 216 by pressing up ordown arrow keys 128. In the preferred embodiments of the presentinvention, cursors 198 and 216 remain in a fixed vertical positionwithin menu 190 as the subscriber presses up and down arrow keys 128 andthe list of settings scrolls such that the settings list comprisingsettings 200, 202, and 204 moves in the opposite direction of the keypressed. That is, when the subscriber presses up arrow key 128, the listmoves down and the cursor remains fixed, thereby giving the net effectof the cursor moving up within the list. Set-top terminal 6 indicatesthat the subscriber may press up and down arrow keys 128 to highlightdifferent settings using cursors 198 and 216 by providing up and downarrow indicators 194 and 196. With cursors 198 and 216 on the desiredsetting, the subscriber may then enable or disable the highlightedsetting by pressing left and right arrow keys 128. Similarly to up anddown arrow indicators 194 and 196, menu 190 provides left and rightarrow indicators 206 and 208 to indicate that the subscriber may pressleft and right arrow keys 128 to enable or disable the highlightedsetting. Setting indicators 210, 212, and 214 will shift position tobeneath either the “YES” column 218 or “NO” column 220 to indicate tothe subscriber whether each function is enabled or disabled,respectively.

A general settings menu 224, as shown in FIG. 10, is also provided in apreferred embodiment of the present invention. Menu 224 enables asubscriber to make further settings adjustments to set-top terminal 6.The subscriber enters general settings menu 224 by pressing settings key188 from channel setting menu 222. As with the channel settings menu222, general settings menu 224 may be incorporated into the previouslydisplayed television display 250 without affecting the television audio.Within general settings menu 224, the subscriber may control settingssuch as blocked channels 228, favorite channels 230, VCR timers 232,IPPV purchases 234, sleep timers 236, and wake timers 238. Othersettings available in general settings menu 224, but not illustrated,can include, for example, reminder timers, view all timers, block times,setup blocking PIN, setup purchase PIN, set power-on channel, enablesecond audio program (SAP), set audio output level, set AC outletfunction, set VCR type, set clock options, control VCR on/off, andenable watch and record. Similarly to channel settings menu 190 (FIG.9), a subscriber selects the desired setting by positioning the desiredsetting 228, 230, 232, 234, 236, or 238 within a cursor 226 using up anddown arrow keys 128, as is indicated by up and down arrow indicators 240and 242. As with channel settings menu 190, in the preferred embodimentsof the present invention, cursor 226 remains in fixed vertical positionwithin general settings menu 224 and the list of settings scroll in adirection opposite to the direction of the up and down arrow keysdepressed.

Once the desired setting has been highlighted by cursor 226, thesubscriber may then view or modify contents of the setting by pressingright arrow key 128 (as is indicated by right arrow indicator 246) orselect key 136 to move cursor 226 to right half 248 of general settingsmenu 224. In cases where a setting has not been previously set or thecontents of the setting have been erased, an indication such as “(New .. . )” will be displayed in right half 248 of menu 224 to indicate tothe subscriber that the setting is empty. When the subscriber hascompleted using general settings menu 224, the subscriber may exit themenu by pressing settings key 188 to return to previous televisiondisplay 250. Alternatively to exiting the general settings menu 224, thesubscriber may also select another general setting by returning to theleft half of menu 224 by pressing left arrow key 128, as indicated byleft arrow indicator 244.

FIGS. 11 through 15 illustrate the VCR timers, IPPV purchases, alltimers, and favorite channel settings of the general settings menu.Referring to FIG. 11, one embodiment of the VCR timers setting is shown.Selecting the VCR timers setting by pressing right arrow key 128 orselect key 136 with VCR timers setting 256 highlighted in generalsettings menu 254 causes cursor 255 to be removed from the display and anew cursor 257 to be displayed in the left-most column of right half 248of the general settings menu as shown in menu 258. In cases in which theVCR timers setting is selected when contents for the setting do notexist, set-top terminal 6 will determine default contents for thesetting. The contents may be either the current program being viewedprior to entering the general settings menu, or may be the next programto be aired if within a fixed period of time (e.g., 10 minutes) of thestart time of the next program. Pressing either up or down arrow keys128 causes each parameter to cycle to the next higher or lower value forthat parameter. As shown in menu 260, pressing up arrow key 128 causesthe date to change from “Mo 23” to “Tu 24.” Pressing right arrow key 128or select key 136 causes cursor 257 to be removed from the display and anew cursor (e.g., cursor 259) to be displayed in the next, rightward,parameter as shown in menu 262. Alternatively, pressing left arrow key128 causes cursor 257 to be removed from the display and a new cursor tobe displayed in the previous parameter. By using arrow keys 128 in thisfashion, the subscriber is able to select the date, channel, start time,and stop time for the VCR timers setting.

Once the subscriber has modified the contents of the VCR timer setting,the subscriber may accept or cancel the modifications as indicated by“A” and “C” indicators 261 and 263. To accept the modified setting, thesubscriber presses the “A” application definable key 252. If thesubscriber accepts the settings, a cursor will be displayed in list ofsettings 249 and the modified setting will be displayed as shown in menu264. To cancel the modified setting, the subscriber presses “C”application definable key 252. Alternatively, if left arrow key 128 ispressed when a cursor is displayed in the left-most column in right half248 of the general settings menu (as shown in menu 258), any changes tothe setting will be canceled. Once canceled, a cursor will be displayedin list of settings 249 and the prior contents of the setting will bedisplayed.

FIG. 12 illustrates the conflict checking feature of the presentinvention. Upon pressing select key 136, settings key 188, or channelup/down key 102 after modifying a timer setting's contents from withingeneral settings menu 268, set-top terminal 6 verifies that there are noconflicts created by the modified setting. Conflicts can arise, forexample, when there are overlapping timers, unusual settings (such asVCR record timers which exceed typical tape length), record timers forunpurchased Impulse Pay-Per-View (IPPV) events, attempts to set up morethan a limited number of VCR timers (e.g., eight), and attempts topurchase more than a limited number of IPPV events (e.g., eight). Forexample, upon pressing select key 136 from general settings menu 268when attempting to record an IPPV event, set-top terminal 6 displays aninteractive warning window 270 alerting the subscriber that the IPPVevent sought to be recorded has not been purchased. Interactive warningwindow 270 then allows the subscriber to press “B” or “C” applicationdefinable keys 252 to either buy the IPPV event or cancel the warning.Pressing select key 136 from general settings menu 268 for non-IPPVevents causes another interactive warning window 272 to be displayedwhen there are conflicting timers. For example, interactive warningwindow 272 is displayed when there is an attempt to record two differentprograms at overlapping times. As illustrated, the subscriber has thechoice of selecting one of “A,” “B,” and “C” application definable keys252 in response to this warning in the preferred embodiment. Pressing“A” key 252 causes set-top terminal 6 to keep both settings and applylogic to resolve the conflict as shown in menu 274 (“VCR Timer 1”referring to the first setting and “VCR Timer 2” referring to thesecond). This can be accomplished, for example, in cases where tworecording timers partially overlap by recording up until the start timeof the second program and dropping the end of the first program.Pressing “B” key 252 in response to interactive warning window 272causes the conflict to be resolved by a new setting that overwrites theold setting as shown in menu 276. Pressing “C” key 252 in response tointeractive warning window 272 causes the old setting to be retained ingeneral settings menu 278 and cursor 226 to remain displayed on rightside 248 of the general settings menu to indicate to the subscriber thatthe most recent setting has not been accepted.

When the subscriber exits general settings menu 268 by pressing settingskey 188 or channel up/down key 102 while leaving behind a conflictingsetting, a non-interactive warning window 280 is displayed for a briefperiod of time (e.g., five seconds) to inform the subscriber of theconflict. To resolve the conflict, the subscriber must press settingskey 188 to reenter the general settings menu. Upon reentering thegeneral settings menu, the subscriber is prompted with interactivewarning window 272 so the conflict can be resolved using the procedurepreviously described.

FIG. 13 illustrates the Impulse Pay-Per-View (IPPV) purchases setting ofthe general settings menu. As shown in general settings menu 284,whenever IPPV Purchases setting 286 is highlighted, a summary indicator288 is displayed in right half 248 of the general settings menu.Indicator 288 indicates the number of past and pending IPPV purchases.Pressing right arrow key 128 or select key 136 causes summary indicator288 to be replaced by list 290 of past and pending purchases as shown ingeneral settings menu 292. In the preferred embodiments of the presentinvention, a pending purchase can be removed from list 290 by pressingstop key 282 with a particular purchase highlighted. For example, with“9/18 The Fugitive” highlighted in menu 292, pressing stop key 282causes “9/18 The Fugitive” to be removed from subsequent list 296 insubsequent menu 294. As with highlighting different settings 249 in thegeneral settings menu, the IPPV purchases are highlighted by positioningthe IPPV purchase within cursor 255 using up and down arrow keys 128.Like the cursor in the general settings menu, cursor 255 is preferablyfixed in the vertical position.

When done reviewing list 290 of past and pending IPPV purchases, thesubscriber may press the “A” application definable key 252 to exit. Inresponse, the present invention removes the list from right side 248 ofthe general settings menu, replaces the list with an updated summaryindicator 300, and highlights IPPV Purchases setting 286. In analternative embodiment of the present invention (not shown), thesubscriber may also press “C” application definable key 252 to cancelany IPPV cancellations that were made by highlighting a pending IPPVevent and pressing stop key 282.

FIG. 14 illustrates an embodiment of the all timers setting of thegeneral settings menu. As shown, selecting all timers setting 323 withingeneral settings menu 322 causes list 325 of type 324, day 326, date330, time 332, channel number 334, and channel call sign 336 for eachactive timer in set-top terminal 6 to be displayed. As with IPPVpurchases (see the description accompanying FIG. 13), pressing stop key282 with any timer highlighted causes that timer to be canceled andaccordingly removed from all timers list 325. As indicated by up anddown arrow indicators 327 and 329, up and down arrow keys 128 are usedto highlight timers within list 325 by positioning a timer within cursor255. As with the other settings, cursor 255 is preferably fixed in thevertical position. Once the subscriber has completed reviewing andmodifying all timers list 325, the subscriber may accept the changes bypressing “A” application definable key 252 as indicated by prompt 328.In an alternative embodiment of the present invention (not shown) thesubscriber may also press “C” application definable key 252 to cancelany timer cancellations made by highlighting a timer and pressing stopkey 282.

The favorite channels setting of the general settings menu is shown inFIG. 15. By selecting favorite channels setting 304 of general settingslist 249 the subscriber causes listing 306 of favorite channels to bedisplayed on right side 248 of general settings menu 302. Pressing “C”application definable key 252 causes list 306 to be cleared asrepresented by list 306 in menu 308. Pressing right arrow key 128 orselect key 136, however, brings up an available channel list 310 asshown in menu 312. List 310 shows all of the available channels alongwith check marks 311 next to the channels which are included in favoritechannel listing 306. Pressing right arrow key 128 or select key 136while a channel within available channel list 310 is highlighted causesthe highlighted channel to be toggled to and from favorite channel list306 as shown in menu 314. That is, if the channel is included in list306, and therefore checked in list 310, pressing right arrow key 128 orselect key 136 causes the channel to be removed from favorite channellist 306 and unchecked in list 310. On the other hand, with a channelnot listed in favorite channel list 306, and therefore not checked inavailable channel list 310, pressing right arrow key 128 or select key136 causes the channel to be added to favorite channel list 306 andchecked in available channel list 310. As with other settings within thegeneral settings menu, channels within list of available channels 310are highlighted by positioning the channel within cursor 255 by pressingup and down arrow keys 128. General settings menu 316 illustrates apreferred embodiment of the present invention in which cursor 255remains in fixed vertical position within list 310. As shown, availablechannel list 310 was scrolled from that shown in menu 312 to highlight“28 DISC.” Once highlighted, right arrow key 128 or select key 136 waspressed to add “28 DISC” to favorite channel list 306.

When the subscriber has finished viewing and editing favorite channellist 306, the subscriber may exit the favorite channels setting bypressing “A” or “C” application definable keys 252. Pressing “A” key 252causes the additions and deletions to be accepted by set-top terminal 6as shown in general settings menu 318. Pressing “C” key 252, however,causes all changes to be discarded and favorite channel list 306 toremain as it was prior to modification as illustrated in generalsettings menu 320.

FIG. 16 illustrates the time mode of interactive program guide (IPG) 338of the preferred embodiments of the present invention. As shown, guide338 includes program viewing window 340, current time and channelindicator 342, highlighted channel banner 344, highlighted programsummary 346, guide date and time bar 348, channel list 350, program grid366, and key indicators 352, 354, 356, 358, 360, 362, and 364. As shown,region 339 around indicator 360 is highlighted as compared with regions341 and 343 around indicators 362 and 364, respectively, to indicatethat the interactive program guide is in the time mode rather thanalternative theme or title modes. Program viewing window 340 displays areduced size display of the normal television display so that theprogram being viewed prior to entering the program guide may continue tobe viewed while in the guide. Incorporated into program viewing window340 is a current time and channel indicator 342. Indicator 342 may betransparent or opaque, and displays the time and channel numbercurrently being displayed. Highlighted channel banner 344 may indicatelogo 368, call sign 370, and number 372 for the channel highlighted inchannel list 350 by channel shadow 392. Highlighted program summary 346may list program name 374, running time 376, brief description 378, andicons 380 indicating applicable characteristics of the program such asclosed captioning, second audio program (SAP), and stereo for theprogram highlighted in program grid 366 by program cursor 394. Guidedate and time bar 348 lists in a preferably horizontal arrangement, fromleft to right, day 382, date 384, and times 386 of programs listed inprogram grid 366. Times 386 are typically incremented in half hoursteps, and span one and a half hours, although other time increments andspans can be used. Channel list 350 is positioned beneath day 382 anddate 384 indicators of guide date and time bar 348, and lists call signs388 and channel numbers 390 for each of the channels available to thesubscriber. As shown, only a portion of channel list 350 is usuallydisplayed as indicated by up and down arrow indicators 352 and 354.

Program grid 366 includes a plurality of rows, each including at leastone program cell 396. The number of rows in grid 366 matches the numberof displayed channels in channel list 350, and each row in grid 366 ishorizontally aligned with the displayed channels in channel list 350 sothat the displayed channels act as labels for each row. The size of eachcell 396 in grid 366 is a function of the running time of the programidentified in that cell. For example, the cell entitled “Encounters” ingrid 366 is one half hour long to indicate that the program “Encounters”is one half hour long. Similarly, the cell entitled “Money Line” in grid366 is one hour long to indicate that the program “Money Line” is onehour long. The start time of each program identified in a respectivecell can be determined by referring to the time indicated in date andtime bar 348 directly above the leftmost end of each cell. For example,the program entitled “Money Line” begins at 4:30 p.m. as indicated bythe time indicator “4:30 p.m.” positioned directly above the leftmostend of the cell identifying “Money Line.”

The subscriber of interactive program guide 338 navigates the programlistings of grid 366 to highlight a desired program cell 396 with cursor394 by pressing up, down, left, and right arrow keys (not shown) asindicated by up, down, left, and right arrow indicators 352, 354, 356,and 358. In the preferred embodiments, cursor 394 is always shadowed inchannel list 350 by channel shadow 392 and in date and time bar 348 bytime shadow 393. In these embodiments, channel shadow 392 always remainshorizontally aligned with cursor 394 to indicate the channel on whichthe program highlighted by cursor 394 can be found. Similarly, in theseembodiments, time shadow 393 always remains vertically aligned withcursor 394 to show the beginning of the time frame highlighted by cursor394. For example, “KCBS 2” in channel list 350 and “4:00 p.m.” in dateand time bar 348 are shadowed by channel shadow 392 and time shadow 393,respectively, to indicate that “CBS Sports . . . ” is on channel “KCBS2” at “4:00 p.m.”

In the preferred embodiment of the present invention, cursor 394 doesnot move within grid 366 of the interactive program guide. Program cells396 of grid 366, call signs 388 and channel numbers 390 of channel list350, and times 386 of date and time bar 348 scroll instead. For example,as a subscriber presses up and down keys 128 (on remote control 59 orkeypad 53 on set-top terminal 6), call signs 388 and channel numbers 390in channel list 350 and program cells 396 in grid 366 scroll down andup, respectively. As the subscriber presses left and right arrow keys128, times 386 in date and time bar 348 and program cells 396 in grid366 scroll right and left, respectively. In the vertical directions,call signs 388, channel numbers 390, and cells 396 scroll one row foreach depression of up or down arrow key 128. In the horizontaldirection, times 386 and cells 396 scroll one time increment (e.g., onehalf hour as illustrated) for each depression of the left or right arrowkey 128. Alternatively, times 386 and cells 396 can horizontally scrollto the next program cell 396 immediately following the currentlyhighlighted program cell 396 when the subscriber presses right arrow key128, and scroll to the previous program cell 396 immediately precedingthe currently highlighted program cell 396 when the subscriber pressesleft arrow key 128. After the cells have scrolled up or down, or left orright, the stationary cursor 394 expands or contracts to highlight(preferably entirely) the leftmost program cell, and only the leftmostprogram cell, that has moved under the cursor's stationary position.Thus, the stationary cursor reacts in the same manner (to highlight theunderlying cell) irrespective of the direction of movement of theunderlying program grid 366.

As shown in FIG. 16, in a preferred embodiment of the present invention,channel list 350 rolls over when either the beginning or end of the listis reached. For example, as a subscriber scrolls list 350 upward,thereby giving the appearance of the channel shadow moving downward withrespect to the list, the subscriber eventually reaches the end of thelist of available channels. Rather than simply preventing the subscriberfrom scrolling list 350 any further when at the end of the list, set-topterminal 6 displays the beginning of the list following the end of thelist and allows the channel shadow to move to the top of the list.Channel list 350 thus appears to be a circular list of channel numbers.Similarly, when the subscriber scrolls list 350 downward, thereby givingthe appearance of the channel shadow moving upward with respect to thelist, the bottom of list 350 will appear as the subscriber scrolls pastthe beginning of list 350. This feature of list 350 may also be appliedto other lists within the present invention, including lists ofsettings, IPG guide data (in grid format), etc. Alternatively, thepresent invention can incorporate lists that do not roll over. In thosecases, the subscriber cannot continue scrolling the channel list in thesame direction once the top or bottom of the channel list has beenreached.

As described in connection with FIG. 5, the present invention makesspecial provisions for channels which are split in time between two ormore sources. As shown in FIG. 17, channel “147” within interactiveprogram guide display 361 is split between “BRAV” 363 and “LIFE” 365. ASillustrated, channel “147” switches from “BRAV” to “LIFE” at 5:00 p.m.Similarly, other splitting arrangements can be configured. For example,channel “147” (or any other channel number) can be used for threedifferent daily sources, such as “BRAV” from 12:00 a.m. to 7:59 a.m.,“LIFE” from 8:00 a.m. to 3:59 p.m., and “QVC” from 4:00 p.m. to 11:59p.m. In such an arrangement, channel 147 can be presented in programgrid 366 in at least two manners. First, each of the sources, “LIFE,”“BRAV,” and “QVC,” can be assigned a row in grid 366 at all times duringthe day regardless of whether the source is “ON AIR” during the timewindow displayed in the guide. Second, only those sources that are atleast partially “ON AIR” during the time window displayed in the guideare allocated a line in grid 366. In this second approach, for example,displaying programs with times ranging from 3:00 p.m. to 4:30 p.m. showsa split at 4:00 p.m. with only two lines of the program guide allocatedto channel 147.

FIG. 18 further illustrates the navigation features of the interactiveprogram guide of the preferred embodiments of the present invention.Pressing guide key 398 from any television display 396 causes set-topterminal 6 to enter the time mode of interactive program guide 400. ASshown, pressing right arrow key 128 causes the contents of cell 404 toscroll to cell 406 as illustrated in IPG 402. Similarly, the contents ofall other cells scroll from their current position to the cellimmediately to their left. Likewise, pressing left arrow key 128 causesthe contents of the cells to scroll to the right. Thus the cell contentsscroll in time, causing the cursor to highlight either the contents ofan earlier or later cell under the action of left and right arrow keys128, respectively. Similarly, pressing either up or down arrow keys 128causes the cell contents to scroll vertically either down (with thecontents of cell 407 moving to the position of cell 406) or up (with thecontents of cell 409 moving to the position of cell 406), respectively,as shown in IPG 408. As the cell contents of grid 366 scroll up anddown, the contents of channel list 350 also simultaneously scroll in thesame direction.

After scrolling the contents of grid 366 to highlight a program otherthan the one currently being displayed, pressing select key 136 causesthe interactive program guide to be removed from the display and thechannel selection function to select the new program as illustrated bydisplay 410. As shown, a program information banner 412 may beincorporated into display 410 for a fixed period of time (e.g., twoseconds) to indicate to the subscriber that the selected program isbeing displayed. In cases where the subscriber does not wish to switchto a new program, pressing guide key 398 with the interactive programguide displayed causes the display to revert back to original televisiondisplay 396.

FIG. 19 illustrates switching between different modes of the interactiveprogram guide. From time mode display 414 of the guide, pressing “B”application definable key 252 causes theme mode display 416 of the guideto be presented. As illustrated, region 341 is highlighted to indicatethe theme mode. Pressing “C” application definable key 252 from timemode display 414 causes title mode display 418 of the guide to bedisplayed. Similar to the theme mode, region 343 is highlighted toindicate the title mode. From either the theme mode or title mode,pressing “A” application definable key 252 causes the display to switchto time mode display 414. From the theme mode, pressing “C” applicationdefinable key 252 causes title mode display 418 to be displayed. Fromtitle mode display 418, pressing “B” application definable key 252causes theme mode display 416 to be displayed. Accordingly, pressing “A”key 252 from any IPG display causes time mode display 414 to bedisplayed, pressing “B” key 252 from any IPG display causes theme modedisplay 416 to be displayed, and pressing “C” key 252 from any IPGdisplay causes title mode display 418 to be displayed.

The theme mode display of the interactive program guide is furtherillustrated in FIG. 20. As shown, date and time bar 348, channel list350, and program grid 366 of the title mode display (FIG. 16) arereplaced by theme and programs bar 422, theme list 424, and program list432 in theme mode display 420. Similarly to channel listing 350, allavailable themes will not be displayed simultaneously when the length ofthemes listing 424 is greater than the available space in theme modedisplay 420. Up and down arrow indicators 426 and 428 are provided toindicate to the subscriber that list 424 may be scrolled by pressing upor down arrow keys (not shown). Using up and down arrow keys, thesubscriber can scroll list 424 to highlight a desired theme with cursor430. A right arrow indicator 434 is also provided to indicate to thesubscriber that a highlighted theme must be selected by pressing rightarrow key (not shown) or select key (not shown) to scroll though programlist 432. As shown, when the subscriber enters theme mode display 420,the default theme and highlighted program may correspond to the programbeing viewed in program viewing window 340 or, alternatively, ahighlighted program in a prior mode display of the interactive programguide. For example, entering the interactive program guide whilewatching “CBS Sports Special” and then selecting the theme mode willcause the theme “Sports” to be highlighted with “CBS Sports Special”centered in program list 432 next to right arrow indicator 434.

Once the subscriber has highlighted and selected a theme from theme list424, set-top terminal 6 replaces theme list 424 with a selected themeindicator 436 as illustrated in FIG. 21. Up and down arrow indicators437 and 439 are also provided to indicate that the subscriber may scrollthrough and highlight with cursor 440 a program within program list 432by pressing up and down arrow keys 128. As with other lists in thepresent invention, cursor 440 is preferably stationary within the IPGdisplay and list 432 scrolls to make the cursor appear to move withrespect to list 432.

In some embodiments of the present invention, by scrolling throughprogram list 432 the subscriber can see not only those programs withinthe selected theme, but also programs in other themes. This isfacilitated by program list 432 comprising all programs for which datais available and by program list 432 being sorted primarily by programtheme. In addition to being primarily sorted by theme, programs inprogram list 432 may also be secondarily sorted by time and title (asshown) or by any other set of program characteristics. When a subscriberselects a particular theme, set-top terminal 6 displays that portion ofprogram list 432 in which the programs of the selected theme arepositioned. The subscriber may then scroll through not only that portionof the list containing the programs of the selected theme but alsoprograms in other theme areas.

By highlighting a desired program in program list 432, information forthat program may be displayed to the subscriber. As shown in FIG. 21,information for the program highlighted in program list 432 is displayedin channel banner 344 and program summary 346. More particularly,channel banner 344 may indicate the channel number, call sign, and logofor the channel showing the highlighted program, and program summary 346indicates the program title, running time, description, andcharacteristics for the highlighted program. As also shown, redundantinformation such as the date of the programs listed in program list 432may be incorporated into theme and programs bar 422 when appropriate tosave space in theme mode display 420. Stars 442 (or any other symbol)may be indicated for those programs in list 432 currently available forviewing. Likewise, other indicators can be displayed to indicate otherprogram characteristics such as favorite channel, blocked channel, etc.

Once a subscriber has completed viewing the program list 432, thesubscriber may select a program for viewing or alternatively return tothe theme list to select another theme. The subscriber may select aprogram for viewing by highlighting a program with cursor 440 and thenpressing the select key (not shown). Set-top terminal 6 then switches tothe corresponding channel when the program is a past or current program,or sets a reminder timer when the program is on at some future time.Alternatively, the subscriber may return to theme list 424 to selectanother theme by pressing the left arrow key (not shown) as indicated byleft arrow indicator 438.

The title mode of the interactive program guide of the present inventionis illustrated in FIG. 22. Like the theme mode, the title mode replacesdate and time bar 348, channel list 350, and program grid 366 of thetime mode display (FIG. 16) with alphabet and program bar 446, alphabetlist 448, and program list 450 as shown in title mode display 444.Alphabet list 448 displays the letters of the alphabet from A through Zand allows the subscriber to highlight a desired letter using cursor452. Similarly to the theme mode display, a default letter and programname are displayed upon entering the title mode display of theinteractive program guide. The default letter and program name selectedmay be based upon the program currently displayed in program viewingwindow 340 or, alternatively, a program highlighted in a previous modeof the interactive program guide. For example, if “CBS Sports Special”is being displayed in program viewing window 340, the default letter andprogram are accordingly “C” and “CBS Sports Special,” respectively.

By using up and down arrow keys (not shown), as indicated by up and downarrow key indicators 454 and 456, a subscriber can highlight a desiredletter with cursor 452 by scrolling alphabet list 448. As with otherlists in the present invention, cursor 452 is preferably stationarywithin the IPG display and list 448 scrolls to make the cursor appear tomove with respect to list 448. Once a desired letter has beenhighlighted, the subscriber may select that letter and enter programlist 450 by pressing right arrow key (not shown) or select key (notshown), as indicated by the right arrow indicator 458.

As shown in FIG. 23, once the subscriber has selected a letter fromalphabet list 448 (FIG. 22), a selected letter indicator 460 replacesalphabet list 448 to indicate that a letter has been selected, and acursor 462 appears in program list 450. This cursor is used to scrollthrough and highlight a program in program list 450. Up and down arrowindicators 464 and 466 are provided in display 444 to indicate to thesubscriber that program list 450 is scrolled by pressing up and downarrow keys 128. As with other lists in the present invention, cursor 462is preferably stationary within the IPG display and list 450 scrolls tomake the cursor appear to move with respect to list 450.

In some embodiments of the present invention, a subscriber can see notonly those programs beginning with the letter selected from alphabetlist 448 by scrolling through program list 450, but also those programsbeginning with other letters. This is facilitated by including in list450 all programs for which data is available and sorting the list byprogram title. When displaying the list to a subscriber after thesubscriber has selected a letter from list 448, set-top terminal 6centers the displayed portion of list 450 on the portion of the listwith program titles that begin with the selected letter.

Once a program has been highlighted using cursor 462, channel banner 344and program summary 346 each display information for the highlightedprogram. More particularly, channel banner 344 indicates the channelnumber, call sign, and logo for the channel showing the highlightedprogram, and program summary 346 indicates the program title, runningtime, description, and characteristics for the highlighted program. Aswith the theme mode display, stars 468 may be displayed adjacent to someprograms to indicate that those programs are currently available forviewing. Similarly, other icons can be displayed to indicate othercharacteristics of the programs in program list 450 such as favoritechannel, blocked channel, etc.

Once a subscriber has completed viewing program list 450, the subscribermay select another letter from alphabet list 448 by pressing the leftarrow key (not shown) as indicated by left arrow indicator 468.Alternatively, by pressing the select key (not shown) when any programis highlighted by cursor 462, the program guide switches to thecorresponding channel if the program is a past or current program, orsets a reminder timer if the program is on at some future time.

FIG. 24 illustrates the One-Touch Recording (OTR) feature of the presentinvention. From an interactive program guide display 470, pressingrecord key 472 with a program 474 highlighted causes a VCR timer to beset up for the highlighted program 474 and a to-be-recorded indicator476 to appear in program summary 346, as illustrated in display 478. Tofine-tune the settings of the VCR timer set up by the OTR feature, thesubscriber may enter the general settings menu by pressing settings key188. As shown in general settings menu 480, by highlighting andselecting VCR timers setting 482, the subscriber can modify therecording settings 484 for highlighted program 474.

As discussed in connection with the general settings menu (see FIG. 12),conflict detection and resolution is also incorporated into the OTRfeature of the present invention. Conflict detection and resolutiondetects and alerts the set-top terminal subscriber of possible timerconflicts at the time the timers are set up to prevent timers from beingerroneously set or over-written. For example, the OTR feature will alertthe subscriber if an attempt is made to simultaneously record two ormore programs as illustrated in FIG. 24. As shown, if after having setup a program to be recorded using One-Touch Recording (display 478), thesubscriber attempts to record another program which is being shown atthe same time by first highlighting (display 486) and then pressingrecord key 472, an attention banner 488 will be displayed (display 490)warning the subscriber of the conflict and enabling the conflict to beresolved.

The One-Touch Recording feature of the present invention alsoautomatically warns the subscriber if an attempt is made to record anImpulse Pay-Per-View program without having previously made arrangementsto purchase the program. As shown in FIG. 25, pressing record key 472with an Impulse Pay-Per-View program 494 highlighted causes a buy optionwindow 496 to be displayed. In addition to providing the subscriber witha summary of program information 498, “B” and “C” application definablekeys 252 are monitored to determine if the subscriber would like topurchase the program or cancel the OTR event. If the subscriber presses“B” application definable key 252 with buy option window 496 displayed,a buy confirmation window 500 is provided to confirm the subscriber'spurchase request. If in response to the buy confirmation window 500 thesubscriber presses “C” application definable key 252, the display willrevert to buy option window 496. If the subscriber presses “B”application definable key 252 in response to buy confirmation window500, set-top terminal 6 will prompt the subscriber for a purchase pinthrough a purchase PIN entry window 502. If the PIN entered by thesubscriber matches the PIN's predefined value, the display will switchback to interactive program guide display 504 and note the futurerecording by providing a record icon 506 when the program to be recordedis a future event, or will immediately display the Impulse Pay-Per-Viewevent, as illustrated by display 508, when the event is currently beingshown.

FIG. 26 illustrates the reminder timer function of the presentinvention. With a program 510 highlighted within an interactive programguide display 512, pressing select key 136 causes one of three things tooccur. First, if the time between the current time and the start time ofthe program selected exceeds a threshold amount and the program selectedis not on an Impulse Pay-Per-View channel, a reminder timer icon 516 isdisplayed in program summary 346 to indicate that set-top terminal 6 hasset a reminder timer to remind the subscriber to watch the selectedprogram as illustrated by display 514. Second, set-top terminal 6 willdisplay a buy option window 496 when the subscriber has selected aprogram on an Impulse Pay-Per-View channel. The interaction with thiswindow matches that for the recording of Impulse Pay-Per-View programsas described in connection with FIG. 25. Third, if the current time iswithin a threshold amount of time before the starting time of theselected program, set-top terminal 6 will tune to the channel on whichthe selected program is to be aired as illustrated by display 518.

In addition to the information normally available in the program summaryof the interactive program guide of the present invention, additionalinformation may also be requested for a highlighted program by thesubscriber pressing the information key on the set-top terminal or itsremote control. FIG. 27 illustrates this process in a preferredembodiment of the present invention. After highlighting a program 523within an interactive program guide display 522, the subscriber mayrequest more information for the highlighted program by pressinginformation key 520 if the information provided in program summary 346is inadequate. Set-top terminal 6 may then incorporate a loading datawindow 524 into display 522 while retrieving the requested information.Once the information has been retrieved, loading data window 524 isreplaced by a full description display window 530. Full descriptiondisplay window 530 may include such information as a description of theprogram, the program's rating, the program's reviews, a list of theactors and actresses staring in the movie, etc. Once the subscriber hascompleted viewing full description display window 530, pressing “C”application definable key 252 will cause full description display 530 tobe removed and a fresh interactive program guide display 522 to bedisplayed.

The information displayed in the interactive program guide of thepresent invention may be sent to set-top terminal 6 from headend 2 in atleast three ways. First, the information may be periodically transmittedto set-top terminals 6, whereby the terminals store the information intheir internal memory for use when necessary. Second, the informationmay be continuously transmitted to set-top terminals 6, whereby theterminals need not store the information in their internal memory, butrather accept the information required for display and discard all ofthe rest as the information is received. Third, the information may berequested when needed by a set-top terminal 6 over the return datachannel of the present invention, after which headend 2 transmits therequested information back to the set-top terminal. Additionally,combinations of these approaches can also be implemented. For example, aweek's worth of data can be regularly transmitted by the headend andstored in the set-top terminal's internal memory for display on demandby the subscriber. Other data, however, can be specifically requested bythe set-top terminal when the subscriber wishes to view programinformation not regularly stored in the set-top terminal. Alternatively,rather than requesting the not-regularly-stored information, theterminal can wait for the data to be transmitted in an approach similarto the second approach above. As another example, the program summarydata can be received and stored in the terminal's internal memory on aregular basis, with any full description information being requestedfrom the headend by the set-top terminal as required.

FIG. 28 illustrates a process for purchasing an Impulse Pay-Per-View(IPPV) event within the present invention. Selecting an IPPV channelfrom either an interactive program guide display 540 or a televisiondisplay 542 causes an event barker 544 to be displayed. This barkerinforms the subscriber of a currently showing or upcoming IPPV event.Event barker 544 provides a summary indicator 546 and buy indicator 548to instruct the subscriber to press “A” application definable key 252 toview a summary of purchased IPPV events 550 or press “B” applicationdefinable key 252 to purchase the IPPV event. Upon selecting to purchasethe IPPV event, a buy confirmation window 552 is displayed instructingthe subscriber to press “B” application definable key 252 again or press“C” application definable key 252 to go back to event barker 544. If thesubscriber confirms the purchase of the IPPV event by pressing “B”application definable key 252 at buy confirmation window 552, a PINentry screen 554 will prompt the subscriber to enter a predefinedpurchase PIN. If the subscriber correctly enters the predefined purchasePIN and the IPPV event has already started, the set-top terminal willimmediately tune to and display the IPPV event as is illustrated indisplay 560. As is also shown, a program information banner 562 may bedisplayed momentarily to indicate to the subscriber that the program hasbeen tuned and inform the subscriber of the program's elapsed time. Ifthe subscriber has correctly entered the predefined purchase PIN and theevent has not yet started or is a Near-Video-On-Demand (NVOD) orPay-Per-Day (PPD) event, a countdown barker 556 will be displayedinforming the subscriber of the time remaining until the beginning ofthe next is showing of the program. At the time the program begins, theset-top terminal will automatically tune to and display the IPPV event.As illustrated by barker 558, the set-top terminal may give thesubscriber the option of entering an IPPV event during the currentshowing by pressing “A” application definable key 252 when the IPPVevent is a NVOD or PPD event.

FIG. 29 illustrates an alternative means through which a subscriber mayselect an IPPV event for purchase rather than selecting individualchannels for each IPPV event. As shown an interactive barker 564 allowsthe subscriber to select an IPPV program title from a list of titles 566and a time from a list of times 568. The subscriber may scroll throughthe lists of titles 566 by pressing up and down arrow keys (not shown)as indicated by up and down arrow indicators 572 and 574. Afterselecting a program, an IPPV program information banner 570 thenindicates to the subscriber the program price, channel, rating, etc. Toscroll the list of times 568, the subscriber presses left and rightarrow keys (not shown) as indicated by left and right arrow indicators576 and 578. Much like event barker 544 (FIG. 28), from barker 564 thesubscriber may display a summary of IPPV purchases by pressing “A”application definable key 252 or purchase the selected program bypressing “B” application definable key 252.

Referring to FIG. 30, the operation of the countdown mechanism for IPPVpurchases is now described. After a countdown barker 556 is displayedconfirming the purchase of a future IPPV event, the subscriber is freeto change channels to watch another program 580 while awaiting the IPPVevent. If a problem occurs in purchasing the desired IPPV event, amessage banner 582 will be displayed to indicate to the subscriber thepresence of a problem. If the subscriber presses select key 136 inresponse to banner 582, a more detailed window 584 will be displayed toindicate to the subscriber how to proceed. Upon exiting window 584 bypressing “C” application definable key 252, the subscriber will returnto event barker 544 if the purchase problem has not been resolved. Ifthe purchase problem has been resolved, an updated countdown barker 586will be displayed. If no purchase problems are encountered while viewingprogram 580, a notification banner 588 will be displayed at least onetime period before the beginning of the IPPV event. By pressing selectkey 136 in response to barker 588, the subscriber will cause the set-topterminal to display an updated countdown barker 586. At the time theIPPV event begins, the IPPV event will be selected and displayed asillustrated by display 590. Along with display 590, a programinformation banner 592 may be displayed to indicate to the subscriberthat the IPPV event has begun.

Preferred embodiments of the present invention incorporate a method forcanceling pending IPPV purchases as illustrated in FIG. 31. By enteringan IPPV summary display 594 from a countdown barker 556 (or any otherdisplay) by pressing “A” application definable key 252, a list 596 ofpending and past IPPV purchases is displayed. After using up and downarrow keys 128 to highlight a pending purchase 598, the subscriber maycancel purchase 598 by pressing “C” application definable key 252. Oncepurchase 598 has been canceled, an updated summary display 600 ispresented. After a brief period (e.g., 30 seconds) of inactivity, thedisplay will revert to countdown barker 556 (if the IPPV event of barker556 is still pending) or an event barker 544 for that IPPV channel.

The free preview feature of the present invention is illustrated in FIG.32. After selecting an IPPV channel from an interactive program guidedisplay 540 or a normal television display 542, set-top terminal 6 maydisplay a preview barker 602 showing a free preview of an IPPV event ina preview window 604. In response to barker 602, the subscriber mayelect to buy the IPPV event by pressing “B” application definable key252 as indicated by a buy option indicator 606. Set-top terminal 6 willthen display a confirmation barker 552 to confirm the purchase request.In response, the subscriber may confirm the purchase request by pressing“B” key 252 again after which set-top terminal 6 will continue the IPPVpurchase in accord with FIG. 28, or cancel the request by pressing “C”application definable key 252 after which the display will revert topreview barker 602. If the subscriber does not press “B” key 252 inresponse to preview barker 602 and the time period for the previewexpires, a preview expiration barker 608 will be displayed. Expirationbarker 608 allows the subscriber to return to event barker 556 bypressing “C” application definable key 252 or to purchase the IPPVevent, and therefore continue to the confirmation barker 552, bypressing “B” application definable key 252.

Preferred embodiments of the present invention also provide for theoperation of Near-Video-On-Demand (NVOD) programs. NVOD allows a programto be viewed more frequently than traditional IPPV events. This isaccomplished in the present invention by transmitting the same programusing two or more sources, each beginning a fixed period of time afterthe others. For example, transmitting an hour long program on fourchannels, each fifteen minutes apart, allows the program to be viewedbeginning every fifteen minutes. In this way, the video is near ondemand—the prospective subscriber only has to wait at most fifteenminutes to view the program.

A pause feature is incorporated into the NVOD feature of the preferredembodiments of the present invention as illustrated in FIG. 33. Thepause feature operates by presenting a pause barker 616 when thesubscriber presses pause key 612 while viewing a NVOD event 614. Pausebarker 616 notifies the subscriber that the program is “paused” andprovides a countdown timer 618 informing the subscriber when the programwill resume. This countdown timer begins with a time equivalent to thedelay between consecutive transmissions of the same program. Uponexpiration of countdown timer 618, the pause feature automaticallyswitches to subsequent transmission 622 of the program. In this way, theprogram appears to have been paused for the fixed period of time.Alternatively, the subscriber can elect to continue viewing currenttransmission 614 of the program by pressing play key 610 as indicated byplay indicator 620. By pressing play key 610, pause barker 616 isremoved from display, transmission 614 is displayed, and any part oftransmission 614 during which pause barker 616 was displayed is lost.

Similarly, NVOD provides skip forward and skip backward capabilities aswell. As illustrated in FIG. 34, pressing fast-forward (FF) key 634while viewing an nth transmission 614 of an NVOD program causes set-topterminal 6 to tune to (n−1)th transmission 624 of the same NVODprogram—that is the transmission which began immediately prior to thenth transmission. Pressing FF key 634 again causes the set-top terminalto select (n−2)th transmission 626 of the NVOD program. Likewise,pressing rewind (REW) key 636 while viewing nth transmission 614 of anNVOD program causes the set-top terminal to tune to (n+1)th transmission628 of the NVOD program. In instances where the subscriber presses REWkey 636 and an (n+2)th transmission has not yet begun, a delay barker630 is displayed indicating that the NVOD program cannot be skippedbackward any further. Delay barker 630 displays a countdown timer 638indicating to the subscriber the amount of time remaining before the(n+2)th transmission of the NVOD program begins. Pressing REW key 636again with the delay barker 630 displayed causes the barker to indicateto the subscriber that the program cannot be further skipped backward byblinking the “elapsed time” text 640.

The present invention also incorporates a message transmission system.Messages may be sent from headend 2 to one or more subscribers at one ormore set-top terminals 6, or may be sent from one subscriber within ahousehold to another (e.g., automatic message from mother to son sentevery Monday night at 8:15 p.m.: “take out trash”). The messages may bedisplayed upon the occurrence of a predetermined action by thesubscriber or immediately by overriding whatever channel was previouslybeing viewed by the subscriber. For example, FIG. 35 illustrates thedisplay of an emergency broadcast message 642. As indicated by selectkey indicator 644, the subscriber can press the select key (not shown),or any other key, to get more information regarding the message beingdisplayed. In response to the subscriber pressing select key 136,set-top terminal 6 may switch to another channel to display moreinformation or display another message. Additionally, messages may beconfigured to turn on set-top terminal 6 and an attached television orother appliance to automatically display an important message. In thisway, a subscriber can be effectively alerted to a crisis situationwithout the subscriber watching television at the time of thetransmission. Messages can also activate a particular service within theset-top terminal. For example, a message can cause the set-top terminalto switch to and display a particular service on the subscriber'stelevision. To indicate the presence of a message in set-top terminal 6,an LED on the terminal's face may illuminate or an icon may beincorporated into the display screen until a subscriber presses a key ora fixed amount of time has passed.

One skilled in the art will appreciate that the present invention can bepracticed by other than the described embodiments, which are presentedfor purposes of illustration and not of limitation, and the presentinvention is limited only by the claims which follow.

1. A system device for displaying an interactive program guide, theprogram guide for displaying information regarding a plurality oftelevision programs on an interactive program guide display, saidinteractive program guide comprising: a grid of cells having at leastthree rows and three columns of said cells displayed by said systemdevice, said cells displaying information regarding said televisionprograms, said cells moveable on said program guide display viaactivation of one of a plurality of user directional actuators; and acell highlighter operative to highlight at a designated cell position onsaid display any one of four said cells respectively adjoining on foursides said designated cell position by using one of said userdirectional actuators to immediately move an adjoining cell into saiddesignated cell position, said highlighter operative to changeappearance as another said cell moves into said designated cellposition.
 2. The interactive program guide of claim 1 wherein some ofsaid cells are of different sizes than others of said cells.
 3. Theinteractive program guide of claim 1 wherein said highlighter isoperative to change shape as another said cell moves into saiddesignated cell position.
 4. The interactive program guide of claim 1wherein said highlighter is operative to change size as another saidcell moves into said designated cell position.
 5. The interactiveprogram guide of claim 1 wherein said highlighter is operative to expandin size as another said cell moves into said designated cell position.6. The interactive program guide of claim 1 wherein said highlighter isoperative to contract in size as another said cell moves into saiddesignated cell position.
 7. The interactive program guide of claim 1wherein said plurality of user directional actuators comprises arrowkeys on a keypad.
 8. The interactive program guide of claim 7 whereinsaid keypad is part of a handheld remote control device.
 9. Theinteractive program guide of claim 1 wherein said designated cellposition is a leftmost cell position on said display.
 10. Theinteractive program guide of claim 1 wherein said designated cellposition is a center row leftmost cell position on said display.
 11. Theinteractive program guide of claim 1 wherein said highlighter comprisesa cursor.
 12. The interactive program guide of claim 1 wherein saidhighlighter comprises a cell outline having an appearance different thanany other cell outline on said display.
 13. A method of displayinginformation regarding a plurality of television programs on aninteractive program guide display, said method comprising: displaying agrid of cells on said display, said grid of cells comprising at leastthree rows and three columns of said cells, said cells displayinginformation regarding said television programs; moving said cells onsaid display via activation of one of a plurality of user directionalactuators; and highlighting any one of four said cells respectivelyadjoining on four sides a designated cell position on said display byusing one of said user directional actuators to immediately move anadjoining cell into said designated cell position, said highlightingchanging appearance as another said cell moves into said designated cellposition.
 14. The method of claim 13 wherein said changing appearancecomprises changing shape of said highlighting as another said cell movesinto said designated cell position.
 15. The method of claim 13 whereinsaid changing appearance comprises changing size of said highlighting asanother said cell moves into said designated cell position.
 16. Themethod of claim 13 wherein said changing appearance comprises expandingsaid highlighting as another said cell moves into said designated cellposition.
 17. The method of claim 13 wherein said changing appearancecomprises shrinking said highlighting as another said cell moves intosaid designated cell position.